const cloud = require('wx-server-sdk');
const ENV_ID = 'lvtengweishi-4gvg0d2h59537d91'; // 替换为你的环境ID
cloud.init({ env: ENV_ID });
const db = cloud.database();
const _ = db.command;
const COLLECTION_NAME = 'users';

exports.main = async (event) => {
  const { nickname, avatar } = event; // 不再需要 code 参数

  // 输入验证（移除 code 校验）
  if (!nickname || !avatar) {
    return { 
      success: false, 
      error: '昵称和头像不能为空' 
    };
  }

  try {
    // 直接通过云函数上下文获取 openid
    const { OPENID: openid } = cloud.getWXContext();
    console.log('当前用户 openid:', openid);

    // 查询用户是否存在
    const userRes = await db.collection(COLLECTION_NAME)
      .where({ _openid: openid })
      .get();

    if (userRes.data.length > 0) {
      // 用户已存在，直接返回
      const user = userRes.data[0];
      return {
        success: true,
        _id: user._id,
        nickname: user.nickname,
        avatar: user.avatar,
        deepseekId: user.deepseekId, // 返回 deepseekId
        role:user.role
      };
    } else {
      // 创建新用户
      const addRes = await db.collection(COLLECTION_NAME).add({
        data: {
          _openid: openid,
          nickname: nickname,
          avatar: avatar,
          createdAt: db.serverDate(), // 修改为 db.serverDate()
          updatedAt: db.serverDate(),  // 修改为 db.serverDate()
          deepseekId: '' // 新用户 deepseekId 为空
        }
      });
      return {
        success: true,
        _id: addRes._id,
        nickname: nickname,
        avatar: avatar,
        deepseekId: '' // 返回 deepseekId 为空
      };
    }
  } catch (err) {
    console.error('操作失败:', err);
    return {
      success: false,
      error: `服务异常: ${err.message}`
    };
  }
};